﻿using System;
namespace Xroad.Eu.Xsd.Identifiers {
    
    
    [System.SerializableAttribute()]
    public partial class XRoadSecurityServerIdentifierType {
        
        private global::Xroad.Eu.Xsd.Identifiers.XRoadObjectType @__objectType = new global::Xroad.Eu.Xsd.Identifiers.XRoadObjectType("SERVER");
        
        private string @__xRoadInstance;
        
        private string @__memberClass;
        
        private string @__memberCode;
        
        private string @__serverCode;
        
        public XRoadSecurityServerIdentifierType() {
        }
        
        /// <summary>
        /// All parameters
        /// </summary>
        public XRoadSecurityServerIdentifierType(global::Xroad.Eu.Xsd.Identifiers.XRoadObjectType @objectType, string @xRoadInstance, string @memberClass, string @memberCode, string @serverCode) {
            this.@__objectType = @objectType;
            this.@__xRoadInstance = @xRoadInstance;
            this.@__memberClass = @memberClass;
            this.@__memberCode = @memberCode;
            this.@__serverCode = @serverCode;
        }
        
        /// <summary>
        /// Copy Constructor
        /// </summary>
        protected XRoadSecurityServerIdentifierType(XRoadSecurityServerIdentifierType @xRoadSecurityServerIdentifierType) {
            this.@__objectType = @xRoadSecurityServerIdentifierType.ObjectType;
            this.@__xRoadInstance = @xRoadSecurityServerIdentifierType.XRoadInstance;
            this.@__memberClass = @xRoadSecurityServerIdentifierType.MemberClass;
            this.@__memberCode = @xRoadSecurityServerIdentifierType.MemberCode;
            this.@__serverCode = @xRoadSecurityServerIdentifierType.ServerCode;
        }
        
        public virtual global::Xroad.Eu.Xsd.Identifiers.XRoadObjectType ObjectType {
            get {
                return this.@__objectType;
            }
            set {
                this.@__objectType = value;
            }
        }
        
        public virtual string XRoadInstance {
            get {
                return this.@__xRoadInstance;
            }
            set {
                this.@__xRoadInstance = value;
            }
        }
        
        public virtual string MemberClass {
            get {
                return this.@__memberClass;
            }
            set {
                this.@__memberClass = value;
            }
        }
        
        public virtual string MemberCode {
            get {
                return this.@__memberCode;
            }
            set {
                this.@__memberCode = value;
            }
        }
        
        public virtual string ServerCode {
            get {
                return this.@__serverCode;
            }
            set {
                this.@__serverCode = value;
            }
        }
    }
}
